Языки́ программи́рования
(алгоритмические языки) - класс искусственных языков, предназначенных для обработки
информации с помощью вычислительных машин. Тексты на Я. п. являются
предписаниями по обработке последовательностей символов
(в частности, записей чисел); все тексты можно рассматривать как
повелительные (предписывающие). По семантическим критериям выделяются
следующие уровни организации текста Я. п.: знаки алфавита, которые не
имеют самостоятельного значения; имена (алфавитно-цифровые аналоги
слов) - минимальные двусторонние единицы;
выражения - комбинации имён, имеющие неповелительное значение;
операторы - синтаксические конструкции,
отражающие определённое действие (т. е. повелительное значение);
программы (семантически и синтаксически
завершённая последовательность предписаний). Алфавит Я. п.
обычно содержит латинские буквы, десятичные цифры и знаки препинания
(разделители), в т. ч. различные виды скобок. Алфавит Я. п.,
используемых в СССР, часто дополняется русскими буквами. Среди
имён выделяются константы, именующие всегда один и тот же
объект, например имя «пять» именует число 5, а имя PLUS - операцию
сложения, другой вид имён - переменные (идентификаторы), которые могут
именовать различные объекты, например имя F может иметь значением число
5, функцию возведения числа в квадрат и т. п. Выражения в
Я. п. примерно соответствуют словам или группам слов естественных
языков, значение выражения определено, если заданы значения входящих в
него имён; например, значением выражения F(X, 5)−7 является число 8,
если значением F является операция умножения чисел, а значением X -
число 3. Операторы Я. п. соответствуют предложениям естественного языков. Например,
оператор присваивания: A←X−3, значение которого - ‘сделать
значением переменной A число, равное разности между значением X и
числом 3’. Программы Я. п. соответствуют текстам естественных
языков. Каждый оператор, входящий в программу, может при её выполнении
на ЭВМ выполняться необходимое (заранее неизвестное) число раз.
Характерная черта Я. п. - неопределённость границ между уровнями
символов, слов, предложений и текста. При записи текстов и их вводе в
ЭВМ это выражается, в частности, в том, что статус пробела близок к
статусу других символов. Например, выражение GOTO может считаться одним
символом, или одним словом, или словосочетанием.
Важной особенностью Я. п. является однозначность понимания текста.
Как правило, они имеют точно описанные синтаксис
и семантику. При описании Я. п. и их реализации
на ЭВМ широко используются порождающие
грамматики (как правило, контекстно-свободные). Перевод текстов на
Я. п. в последовательность команд, которые непосредственно
выполняются ЭВМ, осуществляется при помощи специальных
программ-трансляторов.
Важной содержательной характеристикой Я. п. является его
уровень. Более высокий уровень означает возможность задания
элементарными составляющими языка более сложных предписаний. Повышение
уровня состоит в усложнении элементарных объектов языка и операции над
ними. Например, объектами вместо чисел и символов становятся числовые
матрицы и строки символов, операциями - умножение матриц, поиск
вхождения слова в строке.
С точки зрения области применения Я. п. подразделяются на
универсальные, дающие возможность задавать алгоритмические
предписания разных типов, и
специализированные, предназначенные для
относительно более узких целей: моделирования
(например, технологических процессов), автоматической обработки текста, управления
какими-либо процессами и т. п. Важное место среди универсальных и
специализированных Я. п. занимают диалоговые Я. п.,
содержащие развитые средства общения ЭВМ и пользователя.
Прототипами Я. п. были формальные языки описания вычислимых функции и
языки абстрактных вычислительных устройств. Первыми Я. п. для ЭВМ были
языки машинных команд, возникшие одновременно с созданием средств
вычислительной техники в начале 50‑х гг. 20 в. Развитие Я. п. шло по
пути повышения их уровня, упрощения процесса общения человека и машины,
повышения эффективности программирования. К началу 70‑х гг. общее
число Я. п. составляло около 1 тыс. Наиболее широко используются Я. п.
высокого уровня: фортран, кобол, ПЛ/I, алгол, бейсик, паскаль. Из Я. п.
так называемого низкого уровня распространён язык ассемблера. При
решении задач, связанных с естественными языками, задач
искусственного интеллекта и т. п. наиболее распространён язык лисп и
Я. п., созданные на его основе, а также пролог. В области школьного
образования широкое распространение получил язык лого.
Криницкий Н. А., Миронов Г. А., Фролов
Г. Д., Программирование и алгоритмические языки, М., 1975;
Пратт Т., Языки программирования: разработка и реализация.
М., 1979;
Йенсен К., Вирт И., Паскаль: руководство для
пользователя и описание языка, пер. с англ., М., 1982;
Джермейн К. Б., Программирование на IBM/360, пер. с англ.,
[2 изд.], М., 1983.
А. Л. Семёнов.